
import {createBrowserHistory} from 'history';
import axios from 'axios'
//dui axios进行二次封装
import {message} from 'antd'

var history=createBrowserHistory()
//设置请求拦截器
axios.interceptors.request.use((config)=>{
    config.headers['Authorization']='Bearer '+localStorage.getItem('token');
    return config;

},(error)=>{
    // 请求报错时执行
    return Promise.reject(error);
})
//设置响应拦截器
axios.interceptors.response.use((res)=>{
    return res
},(error)=>{
    //处理响应错误
    if(error.response.status===401){
        message.error('身份认证失败，重新登陆');

         //删除本地存储中的token
         localStorage.removeItem('token');
         localStorage.removeItem('userinfo')
        //跳转到登录页
        history.push('/login')
        // 跳转到登录页，重新登陆
        history.go()
    }
    else if(error.response.status===404){
        message.error('访问路径有误')
    }
    else if(error.response.status===500){
        message.error('服务器内部错误')
    }
    return Promise.reject(error)
})

export default axios;